1. Field of the Invention
The present invention relates to a virtual file management system that allows sharing of files, for example, in a client/server computing system, and more particularly to a virtual file management system that can be utilized to distribute server workload.
2. Related Art of the Invention
In recent years, storage capacity demanded of a system has been increasing rapidly in order to handle large volumes of data such as video data. With this trend, client/server information processing systems have come to be constructed with a plurality of servers to increase the processing capabilities of the entire system by distributing access requests from terminals (client computers), while securing larger storage capacities with data distributed across the plurality of servers for storage.
In such client/server information processing systems with multiple server computers, since each individual client computer (terminal) is tasked with the management of mount tables, etc. for server computers that it uses, increased complexity of the management becomes a problem.
To solve this problem, Japanese Patent Unexamined Publication No. 5-241934 discloses a method which realizes a system that performs flexible file management to handle the addition of servers and transfer of files. According to this method, a client computer can access files distributed across a plurality of server computers by accessing a single virtual file management system regardless of the actual location of the files. The operation of the virtual file management system disclosed in Japanese Patent Unexamined Publication No. 5-241934 will be described briefly below with reference to relevant drawings.
FIG. 30 is a diagram showing the configuration of the virtual file management system proposed in Japanese Patent Unexamined Publication No. 5-241934, and FIG. 31 is a diagram illustrating a flow of operations when a terminal accesses a file stored on a server computer by using the virtual file management system. In FIG. 30, reference numerals 3001a and 3001b designate server computers. Reference numeral 3002 indicates a virtual file management apparatus operating in the server computer 3001a; the apparatus comprises a management table 3003 which manages each of the files stored across the entire system by using a set of attributes consisting of a virtual file identifier, a server identifier, and a real file identifier in the associated server, an access request processing section 3006 which processes file access requests, a receiving section 3007 which receives file access requests, and a transmitting section 3008 which transmits data. Further, reference numerals 3004a and 3004b designate file systems which are managed within the server computers 3001a and 3001b, respectively; 3005 represents request processing sections which process file access requests made to the file systems 3004a and 3005, respectively; and 3009a, 3009b, and 3009c are client computers. The client computers, 3009a, 3009b, and 3009c, and the server computers, 3001a and 3001b, are connected through a network 111, as shown.
The operation of the thus constructed virtual file management system will be described below with reference to FIGS. 30 and 31. Suppose that when the contents of the management table 3003 in the virtual file management apparatus 3002 such as shown in FIG. 32 show that the server identifier is 3001b and the real file identifier is "a" for the virtual file identifier A, a read access request designating the virtual file identifier A is issued from the client computer 3009a. In that case, the receiving section 3007 of the virtual file management apparatus 3002 in the server computer 3001a receives the read access request from the client computer 3009a (step S3101). Next, the access request processing section 3006 checks the management table 3003, and acquires the server identifier 3001b and the real file identifier "a" for the virtual file identifier A (step S3102). Then, a read access request designating the file identifier "a" is issued from the transmitted section 3008 to the server computer 3001b (step S3103). In the server computer 3001b that received the read access request for the file identifier "a", the request processing section 3005 reads data of the file identifier "a" from the file system 3004b, and sends a response to the server computer 3001a. In the server computer 3001a, the receiving section 3007 receives from the server computer 3001b the response to the read access request for the file identifier "a" (step S3104). Next, the received response data is transmitted from the transmitting section 3008 as response data to the client computer 3009a that originated the read access request (step S3105).
In this way, in the system disclosed in Japanese Patent Unexamined Publication No. 5-241934, file access requests from the client computers are all received by one particular server computer. More specifically, when a file access request is received, that particular server computer, based on the virtual file identifiers it manages, retrieves data of the requested file from the server computer where the real data of the file is stored, and transfers the retrieved data to the requesting client computer; in this way, each client computer can access files distributed across the plurality of server computers regardless of the actual location of the requested file.
However, since response data to the requesting client computer is always transferred twice through the network, first from the server computer where the real data of the file is stored to the server computer where the virtual file management apparatus is operating, and then from this latter server computer to the requesting client computer, the above configuration has had the problem that not only the delay in responding to the client computer becomes large but also the network workload increases by a factor of 2 as compared with a system that does not use such a virtual file management apparatus.
Furthermore, despite the use of multiple server computers, when file access requests are made simultaneously from multiple client computers for a limited number of files, for example, access is concentrated on a particular server computer and the response speed to the client computers decreases.
Concentration of access to a particular server computer can be avoided by predicting the frequency of file accesses and thereby scheduling storing of files across multiple server computers in such a manner as to distribute the file accesses, but the prior art has had the problem that it has not been possible to reduce the concentration of access to a particular server by dynamically distributing the accesses on the basis of changing access frequencies while the system is operating.